package com.rd.student.dashuju.zhengruixian.test0727;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;

public class TestFile {
    public static void main(String[] args) {
//        String path="C:\\Users\\86185\\IdeaProjects\\lesson\\rd2304";
//        String path1="C:/Users/86185/IdeaProjects/lesson/rd2304";
//        String path2="C:/Users/86185/IdeaProjects/lesson/rd2304/src/com/rd/student/dashuju/zhengruixian/test0727/TestFile.java";
//        //"\n" "\t"  "\\"
//        String projectpath=System.getProperty("user.dir");
//        System.out.println(projectpath);
//        String filePath=projectpath+"\\"+"test.txt";
//        String filePath1=projectpath+ File.separator+"test.txt";
//        System.out.println(filePath1);
//        File file=new File(filePath);
//        System.out.println(file);
//        System.out.println("-------------");
//        //构造器传入路径
//        System.out.println(file.getPath());
//        //绝对的路径
//        System.out.println(file.getAbsoluteFile());
//        try {
//            //规范的路径
//            System.out.println(file.getCanonicalFile());
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        }
//        //判断文件是否是文件本身 还是文件夹 两种类型
//        System.out.println(file.isFile());
//        System.out.println(file.isDirectory());
//        File dir=new File(projectpath+"/"+"file");
//        System.out.println(dir.isFile());
//        System.out.println(dir.isDirectory());
//        //权限 可读 可写 可执行
//        System.out.println(file.canRead());
//        System.out.println(file.canWrite());
//        System.out.println(file.canExecute());
//        //创建和删除文件
//        File newFile=new File(dir+"/"+"test1.txt");
//        try {
//            Boolean result=newFile.createNewFile();
//            if (result){
//                System.out.println("创建文件成功");
//                System.out.println(newFile);
////                return;
//            }
//            else{
//                //再执行一次会创建失败 因为已经有同名文件了
//                System.out.println("创建失败");
//            }
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        }
////        System.out.println("创建失败");


//        String projectpath = System.getProperty("user.dir");
//        System.out.println(projectpath);
//        File file=new File(projectpath+"/"+"file2");
//        File file1=new File(projectpath+"/"+"file1");
//        System.out.println(file.getAbsolutePath());
////        Boolean result=file.mkdir();
////        if (result){
////            System.out.println("文件夹创造成功");
////        }else{
////            System.out.println("创建失败");
////        }
//        //删除方式不区分文件 文件夹
//        Boolean result1=file.delete();
//        if (result1){
//            System.out.println("删除成功");
//        }else{
//            System.out.println("删除失败");
//        }
//        System.out.println(file1.getParentFile());
//        File  parentFile=file1.getParentFile();
//        System.out.println(parentFile.getName());
//        System.out.println(parentFile.length());
//        System.out.println(parentFile);
//        System.out.println("------------");
//        String[] strList=parentFile.list();
//        for (String s:strList){
//            System.out.println(s);
//        }
//        //修改操作
//        File file3=new File(projectpath+"/"+"file3");
//        Boolean result=file1.renameTo(file3);
//        if (result){
//            System.out.println("文件重命名成功");
//        }else{
//            System.out.println("文件重命名失败");
//        }
        //构造方法 通过父子路径
//        File file3_2=new File(projectpath,"file3");
//        System.out.println(file3_2);
//        File f=File.createTempFile("tmp-",".txt");
//        f.deleteOnExit();
//        System.out.println(f.isFile());
//        System.out.println(f.getAbsolutePath());
//        File f=new File("C:\\Windows");
//        File[] fs1=f.listFiles();//列出所有文件和子目录
//        printFiles(fs1);
//        File[] fs2=f.listFiles(new FilenameFilter() {//仅列出.exe文件
//            public boolean accept(File dir,String name){
//                return name.endsWith(".exe");//返回true表示接受该文件
//            }
//        });
//        printFiles(fs2);
//
//    }
//    static void printFiles(File[] files){
//        System.out.println("---------------");
//        if (files!=null){
//            for (File f:files){
//                System.out.println(f);
//            }
//        }
//        System.out.println("----------------");
//        Path p1= Paths.get(".","project","study");//构造一个Path对象
//        System.out.println(p1);
//        Path p2=p1.toAbsolutePath();//转换为就饿对路径
//        System.out.println(p2);
//        Path p3=p2.normalize();//转换为规范路径
//        File f=p3.toFile();//转换为File对象
//        System.out.println(f);
//        for (Path p:Paths.get("..").toAbsolutePath()){//可以直接遍历Path
//            System.out.println(" "+p);
        String projectPath = System.getProperty("user.dir");
        //创建文件或文件夹
        File dir = new File(projectPath + "/" + "f1");
////        dir.mkdir();
//        try{
//        File file=new File(dir.getAbsolutePath()+"/"+"t1");
//            file.createNewFile();
//            System.out.println(file.getAbsolutePath());
//            File file1=new File(file.getAbsolutePath()+"/"+"t2");
//            file1.createNewFile();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
        String[] strArr = dir.list();
        for (String s : strArr) {
            System.out.println(s);
        }
        System.out.println("---------------");
        File[] fileArr = dir.listFiles();
        for (File file : fileArr) {

            System.out.println(file.getName());
        }
    }
}

